using net_work.Common.Request;
using net_work.Common.Result;
using net_work.Data.DTO.Cam;
using net_work.Data.Entity.Cam;
using net_work.Data.VO.Cam;

namespace net_work.IRepository.Cam;

public interface IMessageRepository : IRepository<Message>
{
    /// <summary>
    /// 插入消息
    /// </summary>
    /// <param name="messageAddRequest">插入消息</param>
    /// <returns>消息ID</returns>
    Task<long> InsertAsync(MessageAddRequest messageAddRequest);

    /// <summary>
    /// 查看消息
    /// </summary>
    /// <param name="messageIds">消息ID列表</param>
    /// <returns>是否成功</returns>
    Task<bool> UpdateAsync(List<long> messageIds);

    /// <summary>
    /// 获取消息列表
    /// </summary>
    /// <param name="request">分页请求参数</param>
    /// <returns>消息列表</returns>
    Task<PagedResult<MessageResult>> GetMessagePagedAsync(PagedRequest request);
}